1. Field of the Invention
This invention relates to a communications system for sensors, and more particularly, a system for passing sensor data to a remote network location in extensible markup language.
2. Background of the Invention
Data sensors are employed in virtually every major industry. For simple applications, a single sensor may be employed. However, for sophisticated monitoring tasks, a variety of measurements may be conducted including, but not limited to, temperature, pressure, rotation, salinity, acidity, mass, radiation, and the like. Furthermore, computer analysis of sensor data generally requires the processing of analog data into a digital format. Which digital format is employed can often be an important subject of concern.
The computer analysis of sensor data is generally best accomplished when a standardized format is adhered to. Industry groups such as the Institute for Electrical and Electronics Engineers (IEEE) invest substantial effort and resources towards providing well-accepted standards. Nevertheless, engineers still must grapple with the incompatibilities of a heterogeneous array of sensors prior to obtaining meaningful data. Attempts have been made to advance the art and address the problem of incompatible sensors.
U.S. Pat. No. 5,132,968 to Cephus describes a data acquisition system which can acquire data from many different sensor sources (20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46), data generated by the sensors is sent to a microcontroller (48). A host computer (12) signals the microcontroller (48) to read or control the sensors (20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46) by wireless transmission through a radio transceiver system (52). The data from the sensors is then sent to the host computer (12) wherein it is decoded for display. The heterogeneous data received from the plurality of sensors in the Cephus patent is standardized by the microcontroller (48). However, both configuration of the microcontroller and decoding on the host computer (12) of the Cephus patent is necessary.
U.S. Pat. No. 5,553,269 to Nunes describes an apparatus for monitoring sensor information from different types of sources wherein a converter (314) converts data bits of sensor input to a format compatible with a computer terminal (330).
Another problem in the current art is that of bandwidth and processing for transmitting sensor data. For a large number of applications that do not have real-time requirements, it is more efficient to aggregate sensor data for a predetermined time period before establishing a transmission.
A heretofore-unfilled need exists for a sensor system that ensures compatibility, data verification and expandability for virtually any analog to digital sensor array. Regardless of source, sensor data should arrive in a format optimized for data analysis and the values contained therein should easily be placed in context without tedious manual configuration. Another need exists for a solution with the above-mentioned properties that provides an efficient use of bandwidth and processing resources to deliver aggregated data.
It is, therefore, to the effective resolution of the aforementioned problems and shortcomings of the prior art that the present invention is directed.
However, in view of the prior art in at the time the present invention was made, it was not obvious to those of ordinary skill in the pertinent art how the identified needs could be fulfilled.
The present invention is a sensor communication system comprising a data server means adapted to receive a sensor data file in XML format from an array of sensors, a data store communicatively coupled to the data server means, and a data reporting means communicatively coupled to the data store. The configuration of the network is coordinated and defined by a document type definition.
An inherent advantage to establishing an XML format for the sensor data is that manufacturers, may easily modify existing string output to the tagged XML format in whatever order or configuration they choose. Because document values are classified by a document type definition (DTD), the system becomes a DTD-centric data server device wherein the DTDs are used to map data values without any complicated processing. The XML specification, currently still in version 1.00, is defined by the W3C, World Wide Web Consortium, recommendation (see W3C.org) which is incorporated herein by reference.
A wireless transmitter may be communicatively coupled to the array of sensors, an optional wireless receiver adapted to receive data from the wireless transmitter and a communications link between the wireless receiver and the data server means serves to enable communication between relatively inaccessible points wherein information gathered by the array of sensors is transmitted to the wireless transmitter, to the wireless receiver and to the data server means.
A computer-readable medium communicatively coupled to the data server means and an XML validation module stored on the medium serves to check the validity of the incoming data. In the event the data is invalid, the process is repeated. The XML validation module verifies the sensor data file for well-formedness, verifies the sensor data file against a document type definition, or both.
Additional data integrity may be verified by establishing a first computer-readable medium communicatively coupled to the array of data sensors, a message encapsulation module stored on the first computer-readable medium that encapsulates a data transmission with a checksum, a second computer-readable medium communicatively coupled to the data server and a message checksum validation module stored on the second computer-readable medium that validates the data transmission checksum.
A computer-readable communication variables file stored on the data server is provided which may include a URL, a login ID, a password, a static IP address, a subnet mask ID and a gateway ID. Such variables would be appropriate for a dedicated WAN connection such as a T1 line or DSL. For WAN connections that dynamically allocate IP addresses which are more common for cable modems and analog dial-up connections, the static IP address, subnet mask ID and gateway ID would not be necessary. This file may further contain a data structure defining the topology of the sensor device polling array. Accordingly, the presence of NULL values for such variables would cause the data server to utilize dynamically allocated IP addresses, rather than maintaining a static one. However, it should be noted that static IPs are preferred as they facilitate diagnostic examination of the data server from remote locations.
For analog connections, such as those established by 56 k modems, an ISP dial-up number, ISP login ID and ISP password variables may be included in the communication variables file. This enables the data server to utilize legacy dial-up connections in areas that may not have available digital WAN connections such as cable, DSL, T1 and the like.
In a preferred embodiment of the invention, a configuration server is communicatively coupled to the data server. A computer-readable configuration files stored on the configuration server is established wherein the data server updates the communication variables file according to the configuration file. The benefit to this embodiment is that upon initialization, the data server first establishes a connection to the configuration server and passes on its hard-coded serial number. The serial number, or similar identifier, is associated with table of configuration settings for the particular licensee or user of the system. As the serial numbers are hard-coded into the server, an advanced level of configuration and control of the system is possible without resorting to more complex and expensive remote administration solutions such as those offered by CITRIX SYSTEMS and MICROSOFT TERMINAL SERVICES. Furthermore, the configuration server may be made available to remotely located end-users by WAN connection, preferably a web-based configuration form to which modifications are posted and saved to the configuration server.
In an alternative embodiment of the invention, more direct user control may be made available by permitting an end user to modify the configuration file locally by a console application. However such a method typically involves connecting a monitor and keyboard up to the device, which may be secured in a relatively inaccessible location. A preferred embodiment includes establishing a web server application embedded in the data server such as the ROMAPAGER(trademark) application available from ALLEGRO SOFTWARE DEVELOPMENT CORPORATION of Boxborough, Mass. The web server is accessible through any standard web browser on the LAN to which the data server is connected. A static IP address that is not routed by DNS servers, such as 192.168.1. * may be assigned to the data server to permit easy access. A configuration display page presented by the web server is established wherein changes to the communication variables file are made responsive to user modifications of the configuration display page.
As indicated above, high-speed access to WANs is not universally available. Cable modems, DSL, T1 and other forms of direct, high speed access are typically interfaced through an Ethernet connection which generally runs between 10 to 100 megabits per second. Should such connections be available, an Ethernet interface would be coupled to the data server, the Ethernet interface adapted to establish communications with the data store. In the event that such high speed connections are not available, an analog modem may be coupled to the data server, the analog modem adapted to establish communications with the data store.
In a preferred embodiment of the invention that provides enhanced redundancy and more flexible installations, a primary Ethernet interface is coupled to the data server, the primary Ethernet interface adapted to establish communications with the data store. A secondary analog modem is coupled to the data server, the secondary analog modem adapted to establish communications with the data store. Finally, a computer-readable device control module is stored on the data server that first attempts to connect the data server to the data store through the primary Ethernet interface and upon failure to connect, then attempts to connect the data server to the data store through the secondary analog modem.
In an exemplary application of the invention, the sensors are coupled to a plurality of mechanical devices. Examples of devices might be washing machines in a public Laundromat, thermoplastic injection molding machines, golf course cars, industrial lathes and the like. The mechanical devices most applicable are those that are subject to substantially continuous use. The array of sensors are adapted to quantify the usage and status of the mechanical devices. A data server means is provided to receive a sensor data file from the array of sensors. A data store is communicatively coupled to the data server means to accept and record data throughput. A device rotation algorithm is communicatively coupled to the data store, the algorithm is adapted to report over-usage and under-usage of the mechanical devices. A reporting means for recommending the rotation of the plurality of mechanical devices is then provided to an end user in order to properly balance the use of the mechanical devices.
It is to be understood that both the foregoing general description and the following detailed description are explanatory and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute part of the specification, illustrate embodiments of the present invention and together with the general description, serve to explain principles of the present invention.
These and other important objects, advantages, and features of the invention will become clear as this description proceeds.
The invention accordingly comprises the features of construction, combination of elements, and arrangement of parts that will be exemplified in the description set forth hereinafter and the scope of the invention will be indicated in the claims.